#!/bin/bash
同步添加

$sql = " INSERT INTO order (
	r_id,
	bid,
	r_title,
	dr_name,
	bs_name,
	z_bid,
	create_time,
	update_time
) 
SELECT
	t.r_id,
	t.bid,
	t.r_title,
	t1. NAME AS d_name,
	t3.name AS s_name,
	t3.w_bid AS w_bid,
	'".$time."' AS create_time,
	'".$time."' AS update_time
FROM
	d_bs t
INNER JOIN r t1 ON t.r_id = t1.did
INNER JOIN w_s t3 ON t.bid = t3.bid
LEFT JOIN order t2 ON t.bid = t2.bid and t.r_id = t2.r_id
where t2.w_r_id is null 
 ";



同步更新
"UPDATE order t,
 (
	SELECT
		t.id,
		t2.bid,
		t1. NAME AS d_name,
		t2.name AS s_name,
		'".$time."' AS update_time,
	FROM
		detail t
	INNER JOIN activity t1 ON t.id = t1.did
	INNER JOIN item t2 ON t.bid = t2.bid
	WHERE t1.update_time >= '".$update_time."'
) t1
SET 
 t.dr_name = t1.d_name,
 t.bs_name = t1.s_name,
 t.w_bid = t1.bid,
 t.w_id = t1.id,
 t.update_time = t1.update_time
WHERE t.id = t1.id AND t.bid = t1.bid"




https://blog.csdn.net/qq_42222764/article/details/100158752
Mysql 中多表关联删除，其中连接表为空值

最近做一个ssm的小demo，中间为了确保数据的一致性，涉及到了三张表的关联删除，在这里分享一下我笨拙的处理方法。

首先三张表 a,b,c
它们之间的关系为 b表中有a表的主键 c表中有b表的主键
就是说 a表与b表 为 一对多 b表与c表为 一对多 b表就是中间表
首先我就想到了连接，这里不多说，直接上代码：

delete
a,b,c
from a
left join b on a.a_id=b.a_id
left join c on b.b_id=c.b_id
where
a.a_id='1'


delete
a
from a
left join b on a.a_id=b.a_id
where a.id is null

使用 left join 也可以解决 b表或者c表中没有数据时，也可以将a表中的内容删除掉
使用inner join b表或者c表中没有数据时，a表中的数据就删除不了。

如果是两张表的话 也可以用上面的方法，可以直接套用。
